#pragma once
#include "UIConfig.h"
namespace catan
{
	class IGuiCallback
	{
		public:
		virtual void OnDieReq() = 0;
	
	};

	struct WinId
	{
		enum Enum
		{
			DieWindowBack = 100,
			Die1 = 101,
			Die2 = 102,
			DieReqBtn = 103,
			CardNum = 201,
		};

		static const wchar_t* ToString(WinId::Enum c)
		{
			switch (c)
			{
				CASE_RetWString(DieWindowBack);
				CASE_RetWString(Die1);
				CASE_RetWString(Die2);
				CASE_RetWString(DieReqBtn);
				CASE_RetWString(CardNum);
			}
			VALID(0);
			return _T("");
		}

	};

	
	class IGuiController : public IHelperBase
	{
	public:
		virtual void Display() = 0;
		virtual ~IGuiController(){}
		static IGuiController* Create();
		void SetCallback(IGuiCallback* callback)
		{
			mCallback = callback;
		}
		virtual void SetPlayerTrun() = 0;;
		virtual void ShowDie(DieNumber& dieNumber) = 0;
		virtual void UpdateResourceCard() = 0;

		IGuiCallback* mCallback;
	};


	
}